From d51d277c9beef20079a36776e3224218008c58ef Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Tue, 23 Nov 2010 19:23:22 +0000 Subject: [PATCH] tools/libxl: use qdisk if blktap2 is not available Whenever blktap2 is not available use qdisk as block backend instead. [ This feature will only work with the relevant changesets from qemu-xen-unstable, recently applied. -iwj ] Signed-off-by: Stefano Stabellini --- tools/libxl/libxl.c | 5 ++++- tools/libxl/libxl_device.c | 1 + tools/libxl/libxl_internal.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 5bf4e39525..2b93565ee5 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1856,7 +1856,10 @@ int libxl_device_disk_add(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *dis flexarray_set(back, boffset++, libxl__sprintf(&gc, "%s:%s", libxl__device_disk_string_of_phystype(disk->phystype), disk->physpath)); - device.backend_kind = DEVICE_TAP; + if (libxl__blktap_enabled(&gc)) + device.backend_kind = DEVICE_TAP; + else + device.backend_kind = DEVICE_QDISK; break; default: diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 2a4f569e31..ad7f8bc113 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -33,6 +33,7 @@ static const char *string_of_kinds[] = { [DEVICE_VIF2] = "vif2", [DEVICE_VBD] = "vbd", [DEVICE_TAP] = "tap", + [DEVICE_QDISK] = "qdisk", [DEVICE_PCI] = "pci", [DEVICE_VFB] = "vfb", [DEVICE_VKBD] = "vkbd", diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index e3fc22dd9f..0d50851edf 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -82,6 +82,7 @@ typedef enum { DEVICE_VIF2, DEVICE_VBD, DEVICE_TAP, + DEVICE_QDISK, DEVICE_PCI, DEVICE_VFB, DEVICE_VKBD, -- 2.30.2